package com.bosch.in.rtp1.ept.manager;

import java.sql.SQLException;
import java.util.List;

import com.bosch.in.rtp1.ept.model.dto.FshRcpChartValues;
import com.bosch.in.rtp1.ept.model.dto.FshRcpRecord;
import com.bosch.in.rtp1.ept.model.technical.Condition4FinishRecipe;
import com.bosch.in.rtp1.ept.model.technical.FinishedRecipeWrapper;

/**
 * Business Delegate interface to define contract of service which is used to manipulate data
 * on Finished Recipes table
 * @author LIV1HC
 */

public interface FinishRecipeManager {
	
	/**
	 * Get FinishedRecipeWrapper 
	 * @return FinishedRecipeWrapper
	 * @throws SQLException 
	 */
	
	FinishedRecipeWrapper getFinishedRecipesWrapper(Condition4FinishRecipe condition4FinishRecipe) throws SQLException ;
	
	/**
	 * Get list of ChartValues from database 
	 * @param  Condition4FinishRecipe
	 * @return List<ChartValues>
	 * @throws SQLException
	 */
	List<FshRcpChartValues> getFactorList(Condition4FinishRecipe condition4FinishRecipe) throws SQLException;
	
	/**
	 * Get list of FshRcpObj from database 
	 * @param  Condition4FinishRecipe
	 * @return List<ChartValues>
	 * @throws SQLException
	 */
	List<FshRcpRecord> getFinishedRecipes(Condition4FinishRecipe condition4FinishRecipe) throws SQLException;
	
	/**
	 * Get total number of all finished recipes records
	 * @return total number of finished recipes 
	 * @throws SQLException
	 */
	int getTotalFRRecords() throws SQLException;
}
